﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using AlgorytmyGenetyczne;
using Funkcje;
using Wykres2D;
using Wykres3D;

namespace AlgorytmyGenetyczneGUI
{
    public partial class UserControlSterowanie : UserControl
    {
        public bool CzyBezczynny { get; private set; }
        public bool CzyWidocznyWykres { get; private set; }
        private FormAlgorytmyGenetyczne rodzic;
        #region Wlasciwosci

        #endregion

        public UserControlSterowanie(object rodzic)
        {
            this.rodzic = (FormAlgorytmyGenetyczne)rodzic;
            InitializeComponent();
            CzyBezczynny = true;
            CzyWidocznyWykres = false;
            buttonPokazWykres.Enabled = false;
        }

        private void buttonAlgorytmStart_Click(object sender, EventArgs e)
        {
            rodzic.kliknietoStart();
        }

        public void zmienStan()
        {
            if (CzyBezczynny)
            {
                if (CzyWidocznyWykres)
                {
                    rodzic.zamknijWykres();  
                }
                CzyBezczynny = false;
                labelStan.Text = "Pracuje";
                labelStan.Refresh();
                buttonStart.Enabled = false;
                buttonPokazWykres.Enabled = false;
            }
            else
            {
                if (CzyWidocznyWykres)
                {
                    CzyWidocznyWykres = false;
                    rodzic.zamknijWykres();
                    buttonPokazWykres.Text = "Pokaż wykres";
                }
                CzyBezczynny = true;
                labelStan.Text = "Bezczynny";
                labelStan.Refresh();
                buttonStart.Enabled = true;
                buttonPokazWykres.Enabled = true;
            }
        }

        private void buttonPokazWykres_Click(object sender, EventArgs e)
        {
            if (!CzyWidocznyWykres)
            {
                CzyWidocznyWykres = true;
                buttonPokazWykres.Text = "Zamknij wykres";
                rodzic.pokazWykres();


            }
            else //jesli wykres jest pokazany, to zamknij
            {
                CzyWidocznyWykres = false;
                buttonPokazWykres.Text = "Pokaż wykres";
                rodzic.zamknijWykres();
            }
        }
    }
}
